package server.business.pojo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 
 * @TableName adverse_reaction
 * @author
 */
@Data
@Accessors(chain = true)
@TableName(value ="adverse_reaction")
@ColumnWidth(20) //列宽
@ContentRowHeight(20)//数据行高
@HeadRowHeight(30)//表头高
@ExcelIgnoreUnannotated   //解决不加ExcelProperty注解的，也会出现在excel中

public class AdverseReaction implements Serializable {
    /**
     * 编号
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 创建时间
     */
    @TableField(value = "gmt_create",fill = FieldFill.INSERT)
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date gmtCreate;

    /**
     * 不良反应编号
     */
    @TableField(value = "adverse_reactions_no", fill = FieldFill.INSERT)
    @ExcelProperty(value = "不良反应编号",index = 0)
    private String adverseReactionsNo;

    /**
     * 患者信息表中的患者姓名
     */
    @TableField(value = "name")
    @ExcelProperty(value = "患者姓名",index = 1)
    private String name;

    /**
     * 患者信息表中的患者身份证号
     */
    @TableField(value = "patient_idcard")
    @ExcelProperty(value = "患者身份证号",index = 30)
    private String patientIdcard;

    /**
     * 发热
     */
    @TableField(value = "fever")
    @ExcelProperty(value = "发热",index = 2)
    private String fever;

    /**
     * 修改时间
     */
    @TableField(value = "gmt_modified", fill = FieldFill.UPDATE)
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "更新时间",index = 3)
    private Date gmtModified;

    /**
     * 胃寒
     */
    @TableField(value = "stomach_cold")
    @ExcelProperty(value = "胃寒",index = 4)
    private String stomachCold;

    /**
     * 寒战
     */
    @TableField(value = "chill")
    @ExcelProperty(value = "寒战",index = 5)
    private String chill;

    /**
     * 呕吐
     */
    @TableField(value = "vomiting")
    @ExcelProperty(value = "呕吐",index = 6)
    private String vomiting;

    /**
     * 头胀
     */
    @TableField(value = "head_distension")
    @ExcelProperty(value = "头胀",index = 7)
    private String headDistension;

    /**
     * 头晕
     */
    @TableField(value = "dizzy")
    @ExcelProperty(value = "头晕",index = 8)
    private String dizzy;

    /**
     * 头痛
     */
    @TableField(value = "headache")
    @ExcelProperty(value = "头痛",index = 9)
    private String headache;

    /**
     * 出汗
     */
    @TableField(value = "sweating")
    @ExcelProperty(value = "出汗",index = 10)
    private String sweating;

    /**
     * 面色苍白
     */
    @TableField(value = "pale")
    @ExcelProperty(value = "面色苍白",index = 11)
    private String pale;

    /**
     * 面色潮红
     */
    @TableField(value = "flushed_complexion")
    @ExcelProperty(value = "面色潮红",index = 11)
    private String flushedComplexion;

    /**
     * 皮肤紫绀
     */
    @TableField(value = "cyanosis_of_skin")
    @ExcelProperty(value = "皮肤紫绀",index = 13)
    private Integer cyanosisOfSkin;

    /**
     * 皮肤瘀点
     */
    @TableField(value = "ecchymosis_of_skin")
    @ExcelProperty(value = "皮肤瘀点",index = 14)
    private String ecchymosisOfSkin;

    /**
     * 荨麻疹
     */
    @TableField(value = "urticaria")
    @ExcelProperty(value = "荨麻疹",index = 15)
    private Integer urticaria;

    /**
     * 胸闷
     */
    @TableField(value = "chest_tightness")
    @ExcelProperty(value = "胸闷",index = 16)
    private String chestTightness;

    /**
     * 呼吸急促
     */
    @TableField(value = "shortness_of_breath")
    @ExcelProperty(value = "呼吸急促",index = 17)
    private String shortnessOfBreath;

    /**
     * 哮喘
     */
    @TableField(value = "asthma")
    @ExcelProperty(value = "哮喘",index = 18)
    private String asthma;

    /**
     * 干咳
     */
    @TableField(value = "dry_cough")
    @ExcelProperty(value = "干咳",index = 19)
    private String dryCough;

    /**
     * 四肢麻木
     */
    @TableField(value = "numbness_of_limbs")
    @ExcelProperty(value = "四肢麻木",index = 20)
    private String numbnessOfLimbs;

    /**
     * 黄疸
     */
    @TableField(value = "jaundice")
    @ExcelProperty(value = "黄疸",index = 21)
    private String jaundice;

    /**
     * 血红蛋白尿
     */
    @TableField(value = "hemoglobinuria")
    @ExcelProperty(value = "血红蛋白尿",index = 22)
    private String hemoglobinuria;

    /**
     * 尿少
     */
    @TableField(value = "oliguria")
    @ExcelProperty(value = "尿少",index = 23)
    private String oliguria;

    /**
     * 尿闭
     */
    @TableField(value = "urosis")
    @ExcelProperty(value = "尿闭",index = 24)
    private String urosis;

    /**
     * 溶血
     */
    @TableField(value = "hemolysis")
    @ExcelProperty(value = "溶血",index = 25)
    private String hemolysis;

    /**
     * 不良反应表现
     */
    @TableField(value = "transfusion_reaction")
    @ExcelProperty(value = "不良反应表现",index = 26)
    private String transfusionReaction;

    /**
     * 反应发生时间
     */
    @TableField(value = "reaction_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "反应发生时间",index = 27)
    private Date reactionTime;

    /**
     * 输血不良反应的表现
     */
    @TableField(value = "reaction_processing_method")
    @ExcelProperty(value = "反应处理方法",index = 28)
    private String reactionProcessingMethod;

    /**
     * 原因分析
     */
    @TableField(value = "cause_analysis")
    @ExcelProperty(value = "原因分析",index = 29)
    private String causeAnalysis;

    @TableField(exist = false)
    private static final long serialVersionUID = -8047086080910252385L;
}